﻿namespace Typps
{
    using System;

    interface IControlBase
    {
        #region Properties

        global::System.Web.UI.ControlCollection Controls
        {
            get;
        }

        bool DesignMode
        {
            get;
        }

        string ExternalStyleSheet
        {
            get; set;
        }

        bool IsCallback
        {
            get;
        }

        bool PostbackAllFormData
        {
            get; set;
        }

        bool UseBrowserCaps
        {
            get; set;
        }

        #endregion Properties

        #region Methods

        void DataBind();

        T FromJson<T>(string input);

        string GetCssStyle();

        string GetCssStyle(bool useDesigntimeResourceUrl);

        string GetSharedCssStyle();

        string GetTreeViewCssStyle();

        string ToJsonString<T>(T input);

        #endregion Methods
    }
}